// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

suite("nereids_scalar_fn_Array1") {
    sql 'use regression_test_nereids_function_p0'
    sql 'set enable_nereids_planner=true'
    sql 'set enable_fallback_to_original_planner=false'
    sql ' set enable_decimal256=true; '

    def tb_suffix = ['array', 'rowstore_array']

    for (def tb : tb_suffix) {
        def nullable_tb = "fn_test_nullable_" + tb
        def not_nullable_tb = "fn_test_not_nullable_" + tb

        // array avg
        order_qt_sql_array_avg_Double "select array_avg(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_avg_Double_notnull "select array_avg(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_avg_Float "select array_avg(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_avg_Float_notnull "select array_avg(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_avg_LargeInt "select array_avg(kalint) from $nullable_tb order by id"
        order_qt_sql_array_avg_LargeInt_notnull "select array_avg(kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_avg_BigInt "select array_avg(kabint) from $nullable_tb order by id"
        order_qt_sql_array_avg_BigInt_notnull "select array_avg(kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_avg_SmallInt "select array_avg(kasint) from $nullable_tb order by id"
        order_qt_sql_array_avg_SmallInt_notnull "select array_avg(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_avg_Integer "select array_avg(kaint) from $nullable_tb order by id"
        order_qt_sql_array_avg_Integer_notnull "select array_avg(kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_avg_TinyInt "select array_avg(katint) from $nullable_tb order by id"
        order_qt_sql_array_avg_TinyInt_notnull "select array_avg(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_avg_DecimalV3 "select array_avg(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_avg_DecimalV3_notnull "select array_avg(kadcml) from $not_nullable_tb order by id"

        // array_compact
        order_qt_sql_array_compact_Double "select array_compact(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_compact_Double_notnull "select array_compact(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_compact_Float "select array_compact(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_compact_Float_notnull "select array_compact(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_compact_LargeInt "select array_compact(kalint) from $nullable_tb order by id"
        order_qt_sql_array_compact_LargeInt_notnull "select array_compact(kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_compact_BigInt "select array_compact(kabint) from $nullable_tb order by id"
        order_qt_sql_array_compact_BigInt_notnull "select array_compact(kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_compact_SmallInt "select array_compact(kasint) from $nullable_tb order by id"
        order_qt_sql_array_compact_SmallInt_notnull "select array_compact(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_compact_Integer "select array_compact(kaint) from $nullable_tb order by id"
        order_qt_sql_array_compact_Integer_notnull "select array_compact(kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_compact_TinyInt "select array_compact(katint) from $nullable_tb order by id"
        order_qt_sql_array_compact_TinyInt_notnull "select array_compact(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_compact_DecimalV3 "select array_compact(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_compact_DecimalV3_notnull "select array_compact(kadcml) from $not_nullable_tb order by id"

        order_qt_sql_array_compact_Boolean "select array_compact(kabool) from $nullable_tb order by id"
        order_qt_sql_array_compact_Boolean_notnull "select array_compact(kabool) from $not_nullable_tb order by id"

        order_qt_sql_array_compact_Char "select array_compact(kachr) from $nullable_tb order by id"
        order_qt_sql_array_compact_Char_notnull "select array_compact(kachr) from $not_nullable_tb order by id"
        order_qt_sql_array_compact_Varchar "select array_compact(kavchr) from $nullable_tb order by id"
        order_qt_sql_array_compact_Varchar_notnull "select array_compact(kavchr) from $not_nullable_tb order by id"
        order_qt_sql_array_compact_String "select array_compact(kastr) from $nullable_tb order by id"
        order_qt_sql_array_compact_String_notnull "select array_compact(kastr) from $not_nullable_tb order by id"

        order_qt_sql_array_compact_DatetimeV2 "select array_compact(kadtmv2) from $nullable_tb order by id"
        order_qt_sql_array_compact_DatetimeV2_notnull "select array_compact(kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_array_compact_DateV2 "select array_compact(kadtv2) from $nullable_tb order by id"
        order_qt_sql_array_compact_DateV2_notnull "select array_compact(kadtv2) from $not_nullable_tb order by id"

        // array_concat
        order_qt_sql_array_concat_Double "select array_concat(kadbl, kadbl) from $nullable_tb order by id"
        order_qt_sql_array_concat_Double_notnull "select array_concat(kadbl, kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_concat_Float "select array_concat(kafloat, kafloat) from $nullable_tb order by id"
        order_qt_sql_array_concat_Float_notnull "select array_concat(kafloat, kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_concat_LargeInt "select array_concat(kalint, kalint) from $nullable_tb order by id"
        order_qt_sql_array_concat_LargeInt_notnull "select array_concat(kalint, kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_concat_BigInt "select array_concat(kabint, kabint) from $nullable_tb order by id"
        order_qt_sql_array_concat_BigInt_notnull "select array_concat(kabint, kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_concat_SmallInt "select array_concat(kasint, kasint) from $nullable_tb order by id"
        order_qt_sql_array_concat_SmallInt_notnull "select array_concat(kasint, kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_concat_Integer "select array_concat(kaint, kaint) from $nullable_tb order by id"
        order_qt_sql_array_concat_Integer_notnull "select array_concat(kaint, kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_concat_TinyInt "select array_concat(katint, katint) from $nullable_tb order by id"
        order_qt_sql_array_concat_TinyInt_notnull "select array_concat(katint, katint) from $not_nullable_tb order by id"
        order_qt_sql_array_concat_DecimalV3 "select array_concat(kadcml, kadcml) from $nullable_tb order by id"
        order_qt_sql_array_concat_DecimalV3_notnull "select array_concat(kadcml, kadcml) from $not_nullable_tb order by id"

        order_qt_sql_array_concat_Boolean "select array_concat(kabool, kabool) from $nullable_tb order by id"
        order_qt_sql_array_concat_Boolean_notnull "select array_concat(kabool, kabool) from $not_nullable_tb order by id"

        order_qt_sql_array_concat_Char "select array_concat(kachr, kachr) from $nullable_tb order by id"
        order_qt_sql_array_concat_Char_notnull "select array_concat(kachr, kachr) from $not_nullable_tb order by id"
        order_qt_sql_array_concat_Varchar "select array_concat(kavchr, kavchr) from $nullable_tb order by id"
        order_qt_sql_array_concat_Varchar_notnull "select array_concat(kavchr, kavchr) from $not_nullable_tb order by id"
        order_qt_sql_array_concat_String "select array_concat(kastr, kastr) from $nullable_tb order by id"
        order_qt_sql_array_concat_String_notnull "select array_concat(kastr, kastr) from $not_nullable_tb order by id"

        order_qt_sql_array_concat_DatetimeV2 "select array_concat(kadtmv2, kadtmv2) from $nullable_tb order by id"
        order_qt_sql_array_concat_DatetimeV2_notnull "select array_concat(kadtmv2, kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_array_concat_DateV2 "select array_concat(kadtv2, kadtv2) from $nullable_tb order by id"
        order_qt_sql_array_concat_DateV2_notnull "select array_concat(kadtv2, kadtv2) from $not_nullable_tb order by id"

        // array_difference
        order_qt_sql_array_difference_Double "select array_difference(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_difference_Double_notnull "select array_difference(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_difference_Float "select array_difference(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_difference_Float_notnull "select array_difference(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_difference_LargeInt "select array_difference(kalint) from $nullable_tb order by id"
        order_qt_sql_array_difference_LargeInt_notnull "select array_difference(kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_difference_BigInt "select array_difference(kabint) from $nullable_tb order by id"
        order_qt_sql_array_difference_BigInt_notnull "select array_difference(kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_difference_SmallInt "select array_difference(kasint) from $nullable_tb order by id"
        order_qt_sql_array_difference_SmallInt_notnull "select array_difference(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_difference_Integer "select array_difference(kaint) from $nullable_tb order by id"
        order_qt_sql_array_difference_Integer_notnull "select array_difference(kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_difference_TinyInt "select array_difference(katint) from $nullable_tb order by id"
        order_qt_sql_array_difference_TinyInt_notnull "select array_difference(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_difference_DecimalV3 "select array_difference(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_difference_DecimalV3_notnull "select array_difference(kadcml) from $not_nullable_tb order by id"

        order_qt_sql_array_difference_Boolean "select array_difference(kabool) from $nullable_tb order by id"
        order_qt_sql_array_difference_Boolean_notnull "select array_difference(kabool) from $not_nullable_tb order by id"

        order_qt_sql_array_difference_Char "select array_difference(kachr) from $nullable_tb order by id"
        order_qt_sql_array_difference_Char_notnull "select array_difference(kachr) from $not_nullable_tb order by id"
        order_qt_sql_array_difference_Varchar "select array_difference(kavchr) from $nullable_tb order by id"
        order_qt_sql_array_difference_Varchar_notnull "select array_difference(kavchr) from $not_nullable_tb order by id"
        order_qt_sql_array_difference_String "select array_difference(kastr) from $nullable_tb order by id"
        order_qt_sql_array_difference_String_notnull "select array_difference(kastr) from $not_nullable_tb order by id"

        // order_qt_sql_array_difference_DatetimeV2 "select array_difference(kadtmv2) from $nullable_tb order by id"
        // order_qt_sql_array_difference_DatetimeV2_notnull "select array_difference(kadtmv2) from $not_nullable_tb order by id"
        // order_qt_sql_array_difference_DateV2 "select array_difference(kadtv2) from $nullable_tb order by id"
        // order_qt_sql_array_difference_DateV2_notnull "select array_difference(kadtv2) from $not_nullable_tb order by id"

        // array_distinct
        order_qt_sql_array_distinct_Double "select array_distinct(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_distinct_Double_notnull "select array_distinct(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_distinct_Float "select array_distinct(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_distinct_Float_notnull "select array_distinct(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_distinct_LargeInt "select array_distinct(kalint) from $nullable_tb order by id"
        order_qt_sql_array_distinct_LargeInt_notnull "select array_distinct(kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_distinct_BigInt "select array_distinct(kabint) from $nullable_tb order by id"
        order_qt_sql_array_distinct_BigInt_notnull "select array_distinct(kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_distinct_SmallInt "select array_distinct(kasint) from $nullable_tb order by id"
        order_qt_sql_array_distinct_SmallInt_notnull "select array_distinct(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_distinct_Integer "select array_distinct(kaint) from $nullable_tb order by id"
        order_qt_sql_array_distinct_Integer_notnull "select array_distinct(kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_distinct_TinyInt "select array_distinct(katint) from $nullable_tb order by id"
        order_qt_sql_array_distinct_TinyInt_notnull "select array_distinct(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_distinct_DecimalV3 "select array_distinct(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_distinct_DecimalV3_notnull "select array_distinct(kadcml) from $not_nullable_tb order by id"

        order_qt_sql_array_distinct_Boolean "select array_distinct(kabool) from $nullable_tb order by id"
        order_qt_sql_array_distinct_Boolean_notnull "select array_distinct(kabool) from $not_nullable_tb order by id"

        order_qt_sql_array_distinct_Char "select array_distinct(kachr) from $nullable_tb order by id"
        order_qt_sql_array_distinct_Char_notnull "select array_distinct(kachr) from $not_nullable_tb order by id"
        order_qt_sql_array_distinct_Varchar "select array_distinct(kavchr) from $nullable_tb order by id"
        order_qt_sql_array_distinct_Varchar_notnull "select array_distinct(kavchr) from $not_nullable_tb order by id"
        order_qt_sql_array_distinct_String "select array_distinct(kastr) from $nullable_tb order by id"
        order_qt_sql_array_distinct_String_notnull "select array_distinct(kastr) from $not_nullable_tb order by id"

        order_qt_sql_array_distinct_DatetimeV2 "select array_distinct(kadtmv2) from $nullable_tb order by id"
        order_qt_sql_array_distinct_DatetimeV2_notnull "select array_distinct(kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_array_distinct_DateV2 "select array_distinct(kadtv2) from $nullable_tb order by id"
        order_qt_sql_array_distinct_DateV2_notnull "select array_distinct(kadtv2) from $not_nullable_tb order by id"

        order_qt_sql_array_distinct_IPv4 "select array_distinct(kaipv4) from $nullable_tb order by id"
        order_qt_sql_array_distinct_IPv4_notnull "select array_distinct(kaipv4) from $not_nullable_tb order by id"
        order_qt_sql_array_distinct_IPv6 "select array_distinct(kaipv6) from $nullable_tb order by id"
        order_qt_sql_array_distinct_IPv6_notnull "select array_distinct(kaipv6) from $not_nullable_tb order by id"

        // array_except
        order_qt_sql_array_except_Double "select array_except(kadbl, kadbl) from $nullable_tb order by id"
        order_qt_sql_array_except_Double_notnull "select array_except(kadbl, kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_except_Float "select array_except(kafloat, kafloat) from $nullable_tb order by id"
        order_qt_sql_array_except_Float_notnull "select array_except(kafloat, kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_except_LargeInt "select array_except(kalint, kalint) from $nullable_tb order by id"
        order_qt_sql_array_except_LargeInt_notnull "select array_except(kalint, kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_except_BigInt "select array_except(kabint, kabint) from $nullable_tb order by id"
        order_qt_sql_array_except_BigInt_notnull "select array_except(kabint, kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_except_SmallInt "select array_except(kasint, kasint) from $nullable_tb order by id"
        order_qt_sql_array_except_SmallInt_notnull "select array_except(kasint, kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_except_Integer "select array_except(kaint, kaint) from $nullable_tb order by id"
        order_qt_sql_array_except_Integer_notnull "select array_except(kaint, kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_except_TinyInt "select array_except(katint, katint) from $nullable_tb order by id"
        order_qt_sql_array_except_TinyInt_notnull "select array_except(katint, katint) from $not_nullable_tb order by id"
        order_qt_sql_array_except_DecimalV3 "select array_except(kadcml, kadcml) from $nullable_tb order by id"
        order_qt_sql_array_except_DecimalV3_notnull "select array_except(kadcml, kadcml) from $not_nullable_tb order by id"

        order_qt_sql_array_except_Boolean "select array_except(kabool, kabool) from $nullable_tb order by id"
        order_qt_sql_array_except_Boolean_notnull "select array_except(kabool, kabool) from $not_nullable_tb order by id"

        order_qt_sql_array_except_Char "select array_except(kachr, kachr) from $nullable_tb order by id"
        order_qt_sql_array_except_Char_notnull "select array_except(kachr, kachr) from $not_nullable_tb order by id"
        order_qt_sql_array_except_Varchar "select array_except(kavchr, kavchr) from $nullable_tb order by id"
        order_qt_sql_array_except_Varchar_notnull "select array_except(kavchr, kavchr) from $not_nullable_tb order by id"
        order_qt_sql_array_except_String "select array_except(kastr, kastr) from $nullable_tb order by id"
        order_qt_sql_array_except_String_notnull "select array_except(kastr, kastr) from $not_nullable_tb order by id"

        order_qt_sql_array_except_DatetimeV2 "select array_except(kadtmv2, kadtmv2) from $nullable_tb order by id"
        order_qt_sql_array_except_DatetimeV2_notnull "select array_except(kadtmv2, kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_array_except_DateV2 "select array_except(kadtv2, kadtv2) from $nullable_tb order by id"
        order_qt_sql_array_except_DateV2_notnull "select array_except(kadtv2, kadtv2) from $not_nullable_tb order by id"

        // array_intersect
        order_qt_sql_array_intersect_Double "select array_sort(array_intersect(kadbl, kadbl)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_Double_notnull "select array_sort(array_intersect(kadbl, kadbl)) from $not_nullable_tb order by id"
        order_qt_sql_array_intersect_Float "select array_sort(array_intersect(kafloat, kafloat)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_Float_notnull "select array_sort(array_intersect(kafloat, kafloat)) from $not_nullable_tb order by id"
        order_qt_sql_array_intersect_LargeInt "select array_sort(array_intersect(kalint, kalint)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_LargeInt_notnull "select array_sort(array_intersect(kalint, kalint)) from $not_nullable_tb order by id"
        order_qt_sql_array_intersect_BigInt "select array_sort(array_intersect(kabint, kabint)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_BigInt_notnull "select array_sort(array_intersect(kabint, kabint)) from $not_nullable_tb order by id"
        order_qt_sql_array_intersect_SmallInt "select array_sort(array_intersect(kasint, kasint)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_SmallInt_notnull "select array_sort(array_intersect(kasint, kasint)) from $not_nullable_tb order by id"
        order_qt_sql_array_intersect_Integer "select array_sort(array_intersect(kaint, kaint)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_Integer_notnull "select array_sort(array_intersect(kaint, kaint)) from $not_nullable_tb order by id"
        order_qt_sql_array_intersect_TinyInt "select array_sort(array_intersect(katint, katint)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_TinyInt_notnull "select array_sort(array_intersect(katint, katint)) from $not_nullable_tb order by id"
        order_qt_sql_array_intersect_DecimalV3 "select array_sort(array_intersect(kadcml, kadcml)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_DecimalV3_notnull "select array_sort(array_intersect(kadcml, kadcml)) from $not_nullable_tb order by id"

        order_qt_sql_array_intersect_Boolean "select array_sort(array_intersect(kabool, kabool)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_Boolean_notnull "select array_sort(array_intersect(kabool, kabool)) from $not_nullable_tb order by id"

        order_qt_sql_array_intersect_Char "select array_sort(array_intersect(kachr, kachr)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_Char_notnull "select array_sort(array_intersect(kachr, kachr)) from $not_nullable_tb order by id"
        order_qt_sql_array_intersect_Varchar "select array_sort(array_intersect(kavchr, kavchr)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_Varchar_notnull "select array_sort(array_intersect(kavchr, kavchr)) from $not_nullable_tb order by id"
        order_qt_sql_array_intersect_String "select array_sort(array_intersect(kastr, kastr)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_String_notnull "select array_sort(array_intersect(kastr, kastr)) from $not_nullable_tb order by id"

        order_qt_sql_array_intersect_DatetimeV2 "select array_sort(array_intersect(kadtmv2, kadtmv2)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_DatetimeV2_notnull "select array_sort(array_intersect(kadtmv2, kadtmv2)) from $not_nullable_tb order by id"
        order_qt_sql_array_intersect_DateV2 "select array_sort(array_intersect(kadtv2, kadtv2)) from $nullable_tb order by id"
        order_qt_sql_array_intersect_DateV2_notnull "select array_sort(array_intersect(kadtv2, kadtv2)) from $not_nullable_tb order by id"

        // array_join
        order_qt_sql_array_join_Double "select array_join(kadbl, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_Double_notnull "select array_join(kadbl, ',', 'null') from $not_nullable_tb order by id"
        order_qt_sql_array_join_Float "select array_join(kafloat, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_Float_notnull "select array_join(kafloat, ',', 'null') from $not_nullable_tb order by id"
        order_qt_sql_array_join_LargeInt "select array_join(kalint, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_LargeInt_notnull "select array_join(kalint, ',', 'null') from $not_nullable_tb order by id"
        order_qt_sql_array_join_BigInt "select array_join(kabint, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_BigInt_notnull "select array_join(kabint, ',', 'null') from $not_nullable_tb order by id"
        order_qt_sql_array_join_SmallInt "select array_join(kasint, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_SmallInt_notnull "select array_join(kasint, ',', 'null') from $not_nullable_tb order by id"
        order_qt_sql_array_join_Integer "select array_join(kaint, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_Integer_notnull "select array_join(kaint, ',', 'null') from $not_nullable_tb order by id"
        order_qt_sql_array_join_TinyInt "select array_join(katint, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_TinyInt_notnull "select array_join(katint, ',', 'null') from $not_nullable_tb order by id"
        order_qt_sql_array_join_DecimalV3 "select array_join(kadcml, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_DecimalV3_notnull "select array_join(kadcml, ',', 'null') from $not_nullable_tb order by id"

        order_qt_sql_array_join_Boolean "select array_join(kabool, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_Boolean_notnull "select array_join(kabool, ',', 'null') from $not_nullable_tb order by id"

        order_qt_sql_array_join_Char "select array_join(kachr, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_Char_notnull "select array_join(kachr, ',', 'null') from $not_nullable_tb order by id"
        order_qt_sql_array_join_Varchar "select array_join(kavchr, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_Varchar_notnull "select array_join(kavchr, ',', 'null') from $not_nullable_tb order by id"
        order_qt_sql_array_join_String "select array_join(kastr, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_String_notnull "select array_join(kastr, ',', 'null') from $not_nullable_tb order by id"

        order_qt_sql_array_join_DatetimeV2 "select array_join(kadtmv2, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_DatetimeV2_notnull "select array_join(kadtmv2, ',', 'null') from $not_nullable_tb order by id"
        order_qt_sql_array_join_DateV2 "select array_join(kadtv2, ',', 'null') from $nullable_tb order by id"
        order_qt_sql_array_join_DateV2_notnull "select array_join(kadtv2, ',', 'null') from $not_nullable_tb order by id"

        order_qt_sql_array_join_two_params_Double "select array_join(kadbl, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_Double_notnull "select array_join(kadbl, ',') from $not_nullable_tb order by id"
        order_qt_sql_array_join_two_params_Float "select array_join(kafloat, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_Float_notnull "select array_join(kafloat, ',') from $not_nullable_tb order by id"
        order_qt_sql_array_join_two_params_LargeInt "select array_join(kalint, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_LargeInt_notnull "select array_join(kalint, ',') from $not_nullable_tb order by id"
        order_qt_sql_array_join_two_params_BigInt "select array_join(kabint, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_BigInt_notnull "select array_join(kabint, ',') from $not_nullable_tb order by id"
        order_qt_sql_array_join_two_params_SmallInt "select array_join(kasint, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_SmallInt_notnull "select array_join(kasint, ',') from $not_nullable_tb order by id"
        order_qt_sql_array_join_two_params_Integer "select array_join(kaint, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_Integer_notnull "select array_join(kaint, ',') from $not_nullable_tb order by id"
        order_qt_sql_array_join_two_params_TinyInt "select array_join(katint, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_TinyInt_notnull "select array_join(katint, ',') from $not_nullable_tb order by id"
        order_qt_sql_array_join_two_params_DecimalV3 "select array_join(kadcml, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_DecimalV3_notnull "select array_join(kadcml, ',') from $not_nullable_tb order by id"

        order_qt_sql_array_join_two_params_Boolean "select array_join(kabool, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_Boolean_notnull "select array_join(kabool, ',') from $not_nullable_tb order by id"

        order_qt_sql_array_join_two_params_Char "select array_join(kachr, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_Char_notnull "select array_join(kachr, ',') from $not_nullable_tb order by id"
        order_qt_sql_array_join_two_params_Varchar "select array_join(kavchr, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_Varchar_notnull "select array_join(kavchr, ',') from $not_nullable_tb order by id"
        order_qt_sql_array_join_two_params_String "select array_join(kastr, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_String_notnull "select array_join(kastr, ',') from $not_nullable_tb order by id"

        order_qt_sql_array_join_two_params_DatetimeV2 "select array_join(kadtmv2, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_DatetimeV2_notnull "select array_join(kadtmv2, ',') from $not_nullable_tb order by id"
        order_qt_sql_array_join_two_params_DateV2 "select array_join(kadtv2, ',') from $nullable_tb order by id"
        order_qt_sql_array_join_two_params_DateV2_notnull "select array_join(kadtv2, ',') from $not_nullable_tb order by id"

        // array_max
        order_qt_sql_array_max_Double "select array_max(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_max_Double_notnull "select array_max(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_max_Float "select array_max(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_max_Float_notnull "select array_max(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_max_LargeInt "select array_max(kalint) from $nullable_tb order by id"
        order_qt_sql_array_max_LargeInt_notnull "select array_max(kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_max_BigInt "select array_max(kabint) from $nullable_tb order by id"
        order_qt_sql_array_max_BigInt_notnull "select array_max(kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_max_SmallInt "select array_max(kasint) from $nullable_tb order by id"
        order_qt_sql_array_max_SmallInt_notnull "select array_max(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_max_Integer "select array_max(kaint) from $nullable_tb order by id"
        order_qt_sql_array_max_Integer_notnull "select array_max(kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_max_TinyInt "select array_max(katint) from $nullable_tb order by id"
        order_qt_sql_array_max_TinyInt_notnull "select array_max(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_max_DecimalV3 "select array_max(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_max_DecimalV3_notnull "select array_max(kadcml) from $not_nullable_tb order by id"

        order_qt_sql_array_max_Boolean "select array_max(kabool) from $nullable_tb order by id"
        order_qt_sql_array_max_Boolean_notnull "select array_max(kabool) from $not_nullable_tb order by id"

        // TODO enable it when be support character like type
        // order_qt_sql_array_max_Char "select array_max(kachr) from $nullable_tb order by id"
        // order_qt_sql_array_max_Char_notnull "select array_max(kachr) from $not_nullable_tb order by id"
        // order_qt_sql_array_max_Varchar "select array_max(kavchr) from $nullable_tb order by id"
        // order_qt_sql_array_max_Varchar_notnull "select array_max(kavchr) from $not_nullable_tb order by id"
        // order_qt_sql_array_max_String "select array_max(kastr) from $nullable_tb order by id"
        // order_qt_sql_array_max_String_notnull "select array_max(kastr) from $not_nullable_tb order by id"

        order_qt_sql_array_max_DatetimeV2 "select array_max(kadtmv2) from $nullable_tb order by id"
        order_qt_sql_array_max_DatetimeV2_notnull "select array_max(kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_array_max_DateV2 "select array_max(kadtv2) from $nullable_tb order by id"
        order_qt_sql_array_max_DateV2_notnull "select array_max(kadtv2) from $not_nullable_tb order by id"

        // array_min
        order_qt_sql_array_min_Double "select array_min(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_min_Double_notnull "select array_min(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_min_Float "select array_min(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_min_Float_notnull "select array_min(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_min_LargeInt "select array_min(kalint) from $nullable_tb order by id"
        order_qt_sql_array_min_LargeInt_notnull "select array_min(kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_min_BigInt "select array_min(kabint) from $nullable_tb order by id"
        order_qt_sql_array_min_BigInt_notnull "select array_min(kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_min_SmallInt "select array_min(kasint) from $nullable_tb order by id"
        order_qt_sql_array_min_SmallInt_notnull "select array_min(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_min_Integer "select array_min(kaint) from $nullable_tb order by id"
        order_qt_sql_array_min_Integer_notnull "select array_min(kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_min_TinyInt "select array_min(katint) from $nullable_tb order by id"
        order_qt_sql_array_min_TinyInt_notnull "select array_min(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_min_DecimalV3 "select array_min(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_min_DecimalV3_notnull "select array_min(kadcml) from $not_nullable_tb order by id"

        order_qt_sql_array_min_Boolean "select array_min(kabool) from $nullable_tb order by id"
        order_qt_sql_array_min_Boolean_notnull "select array_min(kabool) from $not_nullable_tb order by id"

        // TODO enable it when be support character like type
        // order_qt_sql_array_min_Char "select array_min(kachr) from $nullable_tb order by id"
        // order_qt_sql_array_min_Char_notnull "select array_min(kachr) from $not_nullable_tb order by id"
        // order_qt_sql_array_min_Varchar "select array_min(kavchr) from $nullable_tb order by id"
        // order_qt_sql_array_min_Varchar_notnull "select array_min(kavchr) from $not_nullable_tb order by id"
        // order_qt_sql_array_min_String "select array_min(kastr) from $nullable_tb order by id"
        // order_qt_sql_array_min_String_notnull "select array_min(kastr) from $not_nullable_tb order by id"

        order_qt_sql_array_min_DatetimeV2 "select array_min(kadtmv2) from $nullable_tb order by id"
        order_qt_sql_array_min_DatetimeV2_notnull "select array_min(kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_array_min_DateV2 "select array_min(kadtv2) from $nullable_tb order by id"
        order_qt_sql_array_min_DateV2_notnull "select array_min(kadtv2) from $not_nullable_tb order by id"

        // array_popback
        order_qt_sql_array_popback_Double "select array_popback(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_popback_Double_notnull "select array_popback(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_popback_Float "select array_popback(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_popback_Float_notnull "select array_popback(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_popback_LargeInt "select array_popback(kalint) from $nullable_tb order by id"
        order_qt_sql_array_popback_LargeInt_notnull "select array_popback(kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_popback_BigInt "select array_popback(kabint) from $nullable_tb order by id"
        order_qt_sql_array_popback_BigInt_notnull "select array_popback(kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_popback_SmallInt "select array_popback(kasint) from $nullable_tb order by id"
        order_qt_sql_array_popback_SmallInt_notnull "select array_popback(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_popback_Integer "select array_popback(kaint) from $nullable_tb order by id"
        order_qt_sql_array_popback_Integer_notnull "select array_popback(kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_popback_TinyInt "select array_popback(katint) from $nullable_tb order by id"
        order_qt_sql_array_popback_TinyInt_notnull "select array_popback(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_popback_DecimalV3 "select array_popback(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_popback_DecimalV3_notnull "select array_popback(kadcml) from $not_nullable_tb order by id"

        order_qt_sql_array_popback_Boolean "select array_popback(kabool) from $nullable_tb order by id"
        order_qt_sql_array_popback_Boolean_notnull "select array_popback(kabool) from $not_nullable_tb order by id"

        order_qt_sql_array_popback_Char "select array_popback(kachr) from $nullable_tb order by id"
        order_qt_sql_array_popback_Char_notnull "select array_popback(kachr) from $not_nullable_tb order by id"
        order_qt_sql_array_popback_Varchar "select array_popback(kavchr) from $nullable_tb order by id"
        order_qt_sql_array_popback_Varchar_notnull "select array_popback(kavchr) from $not_nullable_tb order by id"
        order_qt_sql_array_popback_String "select array_popback(kastr) from $nullable_tb order by id"
        order_qt_sql_array_popback_String_notnull "select array_popback(kastr) from $not_nullable_tb order by id"

        order_qt_sql_array_popback_DatetimeV2 "select array_popback(kadtmv2) from $nullable_tb order by id"
        order_qt_sql_array_popback_DatetimeV2_notnull "select array_popback(kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_array_popback_DateV2 "select array_popback(kadtv2) from $nullable_tb order by id"
        order_qt_sql_array_popback_DateV2_notnull "select array_popback(kadtv2) from $not_nullable_tb order by id"

        // array_popfront
        order_qt_sql_array_popfront_Double "select array_popfront(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_popfront_Double_notnull "select array_popfront(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_popfront_Float "select array_popfront(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_popfront_Float_notnull "select array_popfront(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_popfront_LargeInt "select array_popfront(kalint) from $nullable_tb order by id"
        order_qt_sql_array_popfront_LargeInt_notnull "select array_popfront(kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_popfront_BigInt "select array_popfront(kabint) from $nullable_tb order by id"
        order_qt_sql_array_popfront_BigInt_notnull "select array_popfront(kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_popfront_SmallInt "select array_popfront(kasint) from $nullable_tb order by id"
        order_qt_sql_array_popfront_SmallInt_notnull "select array_popfront(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_popfront_Integer "select array_popfront(kaint) from $nullable_tb order by id"
        order_qt_sql_array_popfront_Integer_notnull "select array_popfront(kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_popfront_TinyInt "select array_popfront(katint) from $nullable_tb order by id"
        order_qt_sql_array_popfront_TinyInt_notnull "select array_popfront(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_popfront_DecimalV3 "select array_popfront(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_popfront_DecimalV3_notnull "select array_popfront(kadcml) from $not_nullable_tb order by id"

        order_qt_sql_array_popfront_Boolean "select array_popfront(kabool) from $nullable_tb order by id"
        order_qt_sql_array_popfront_Boolean_notnull "select array_popfront(kabool) from $not_nullable_tb order by id"

        order_qt_sql_array_popfront_Char "select array_popfront(kachr) from $nullable_tb order by id"
        order_qt_sql_array_popfront_Char_notnull "select array_popfront(kachr) from $not_nullable_tb order by id"
        order_qt_sql_array_popfront_Varchar "select array_popfront(kavchr) from $nullable_tb order by id"
        order_qt_sql_array_popfront_Varchar_notnull "select array_popfront(kavchr) from $not_nullable_tb order by id"
        order_qt_sql_array_popfront_String "select array_popfront(kastr) from $nullable_tb order by id"
        order_qt_sql_array_popfront_String_notnull "select array_popfront(kastr) from $not_nullable_tb order by id"

        order_qt_sql_array_popfront_DatetimeV2 "select array_popfront(kadtmv2) from $nullable_tb order by id"
        order_qt_sql_array_popfront_DatetimeV2_notnull "select array_popfront(kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_array_popfront_DateV2 "select array_popfront(kadtv2) from $nullable_tb order by id"
        order_qt_sql_array_popfront_DateV2_notnull "select array_popfront(kadtv2) from $not_nullable_tb order by id"

        // array_position
        order_qt_sql_array_position_Double "select array_position(kadbl, element_at(kadbl, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_Double_notnull "select array_position(kadbl, element_at(kadbl, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_position_Float "select array_position(kafloat, element_at(kafloat, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_Float_notnull "select array_position(kafloat, element_at(kafloat, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_position_LargeInt "select array_position(kalint, element_at(kalint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_LargeInt_notnull "select array_position(kalint, element_at(kalint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_position_BigInt "select array_position(kabint, element_at(kabint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_BigInt_notnull "select array_position(kabint, element_at(kabint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_position_SmallInt "select array_position(kasint, element_at(kasint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_SmallInt_notnull "select array_position(kasint, element_at(kasint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_position_Integer "select array_position(kasint, element_at(kasint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_Integer_notnull "select array_position(kaint, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_position_TinyInt "select array_position(katint, element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_TinyInt_notnull "select array_position(katint, element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_position_DecimalV3 "select array_position(kadcml, element_at(kadcml, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_DecimalV3_notnull "select array_position(kadcml, element_at(kadcml, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_position_Boolean "select array_position(kabool, element_at(kabool, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_Boolean_notnull "select array_position(kabool, element_at(kabool, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_position_Char "select array_position(kachr, element_at(kachr, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_Char_notnull "select array_position(kachr, element_at(kachr, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_position_Varchar "select array_position(kavchr, element_at(kavchr, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_Varchar_notnull "select array_position(kavchr, element_at(kavchr, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_position_DatetimeV2 "select array_position(kadtmv2, element_at(kadtmv2, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_DatetimeV2_notnull "select array_position(kadtmv2, element_at(kadtmv2, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_position_DateV2 "select array_position(kadtv2, element_at(kadtv2, 1)) from $nullable_tb order by id"
        order_qt_sql_array_position_DateV2_notnull "select array_position(kadtv2, element_at(kadtv2, 1)) from $not_nullable_tb order by id"

        // array_product
        order_qt_sql_array_product_Double "select array_product(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_product_Double_notnull "select array_product(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_product_Float "select array_product(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_product_Float_notnull "select array_product(kafloat) from $not_nullable_tb order by id"
        // order_qt_sql_array_product_SmallInt "select array_product(kasint) from $nullable_tb order by id"
        // order_qt_sql_array_product_SmallInt_notnull "select array_product(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_product_TinyInt "select array_product(katint) from $nullable_tb order by id"
        order_qt_sql_array_product_TinyInt_notnull "select array_product(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_product_DecimalV3 "select array_product(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_product_DecimalV3_notnull "select array_product(kadcml) from $not_nullable_tb order by id"

        // array_pushback
        order_qt_sql_array_pushback_Double "select array_pushback(kadbl, element_at(kadbl, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_Double_notnull "select array_pushback(kadbl, element_at(kadbl, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushback_Float "select array_pushback(kafloat, element_at(kafloat, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_Float_notnull "select array_pushback(kafloat, element_at(kafloat, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushback_LargeInt "select array_pushback(kalint, element_at(kalint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_LargeInt_notnull "select array_pushback(kalint, element_at(kalint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushback_BigInt "select array_pushback(kabint, element_at(kabint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_BigInt_notnull "select array_pushback(kabint, element_at(kabint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushback_SmallInt "select array_pushback(kasint, element_at(kasint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_SmallInt_notnull "select array_pushback(kasint, element_at(kasint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushback_Integer "select array_pushback(kaint, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_Integer_notnull "select array_pushback(kaint, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushback_TinyInt "select array_pushback(katint, element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_TinyInt_notnull "select array_pushback(katint, element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushback_DecimalV3 "select array_pushback(kadcml, element_at(kadcml, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_DecimalV3_notnull "select array_pushback(kadcml, element_at(kadcml, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_pushback_Boolean "select array_pushback(kabool, element_at(kabool, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_Boolean_notnull "select array_pushback(kabool, element_at(kabool, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_pushback_Char "select array_pushback(kachr, element_at(kachr, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_Char_notnull "select array_pushback(kachr, element_at(kachr, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushback_Varchar "select array_pushback(kavchr, element_at(kavchr, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_Varchar_notnull "select array_pushback(kavchr, element_at(kavchr, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushback_String "select array_pushback(kastr, element_at(kastr, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_String_notnull "select array_pushback(kastr, element_at(kastr, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_pushback_DatetimeV2 "select array_pushback(kadtmv2, element_at(kadtmv2, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_DatetimeV2_notnull "select array_pushback(kadtmv2, element_at(kadtmv2, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushback_DateV2 "select array_pushback(kadtv2, element_at(kadtv2, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushback_DateV2_notnull "select array_pushback(kadtv2, element_at(kadtv2, 1)) from $not_nullable_tb order by id"

        // array_pushfront
        order_qt_sql_array_pushfront_Double "select array_pushfront(kadbl, element_at(kadbl, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_Double_notnull "select array_pushfront(kadbl, element_at(kadbl, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushfront_Float "select array_pushfront(kafloat, element_at(kafloat, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_Float_notnull "select array_pushfront(kafloat, element_at(kafloat, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushfront_LargeInt "select array_pushfront(kalint, element_at(kalint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_LargeInt_notnull "select array_pushfront(kalint, element_at(kalint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushfront_BigInt "select array_pushfront(kabint, element_at(kabint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_BigInt_notnull "select array_pushfront(kabint, element_at(kabint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushfront_SmallInt "select array_pushfront(kasint, element_at(kasint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_SmallInt_notnull "select array_pushfront(kasint, element_at(kasint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushfront_Integer "select array_pushfront(kaint, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_Integer_notnull "select array_pushfront(kaint, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushfront_TinyInt "select array_pushfront(katint, element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_TinyInt_notnull "select array_pushfront(katint, element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushfront_DecimalV3 "select array_pushfront(kadcml, element_at(kadcml, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_DecimalV3_notnull "select array_pushfront(kadcml, element_at(kadcml, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_pushfront_Boolean "select array_pushfront(kabool, element_at(kabool, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_Boolean_notnull "select array_pushfront(kabool, element_at(kabool, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_pushfront_Char "select array_pushfront(kachr, element_at(kachr, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_Char_notnull "select array_pushfront(kachr, element_at(kachr, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushfront_Varchar "select array_pushfront(kavchr, element_at(kavchr, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_Varchar_notnull "select array_pushfront(kavchr, element_at(kavchr, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushfront_String "select array_pushfront(kastr, element_at(kastr, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_String_notnull "select array_pushfront(kastr, element_at(kastr, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_pushfront_DatetimeV2 "select array_pushfront(kadtmv2, element_at(kadtmv2, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_DatetimeV2_notnull "select array_pushfront(kadtmv2, element_at(kadtmv2, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_pushfront_DateV2 "select array_pushfront(kadtv2, element_at(kadtv2, 1)) from $nullable_tb order by id"
        order_qt_sql_array_pushfront_DateV2_notnull "select array_pushfront(kadtv2, element_at(kadtv2, 1)) from $not_nullable_tb order by id"

        // array_range param is null may cause error
//        order_qt_sql_array_range_one_param "select array_range(element_at(kaint, 1)) from $nullable_tb order by id limit 5"
//        order_qt_sql_array_range_one_param_notnull "select array_range(element_at(kaint, 1)) from $not_nullable_tb order by id limit 5"
//        order_qt_sql_array_range_two_param "select array_range(element_at(kaint, 1), 1000) from $nullable_tb order by id limit 5"
//        order_qt_sql_array_range_two_param_notnull "select array_range(element_at(kaint, 1), 1000) from $not_nullable_tb order by id limit 5"
//        order_qt_sql_array_range_three_param "select array_range(element_at(kaint, 1), 10000, element_at(katint, 1)) from $nullable_tb order by id"
//        order_qt_sql_array_range_three_param_notnull "select array_range(element_at(kaint, 1), 10000, element_at(katint, 1)) from $not_nullable_tb order by id"

        // make a large size of array element, expect to throw error
        test {
            sql "select array_range(element_at(kaint, 1), 1000000000) from $nullable_tb order by id"
            exception('Array size exceeds the limit 1000000')
        }

        // array_remove
        order_qt_sql_array_remove_Double "select array_remove(kadbl, element_at(kadbl, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_Double_notnull "select array_remove(kadbl, element_at(kadbl, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_remove_Float "select array_remove(kafloat, element_at(kafloat, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_Float_notnull "select array_remove(kafloat, element_at(kafloat, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_remove_LargeInt "select array_remove(kalint, element_at(kalint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_LargeInt_notnull "select array_remove(kalint, element_at(kalint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_remove_BigInt "select array_remove(kabint, element_at(kabint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_BigInt_notnull "select array_remove(kabint, element_at(kabint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_remove_SmallInt "select array_remove(kasint, element_at(kasint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_SmallInt_notnull "select array_remove(kasint, element_at(kasint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_remove_Integer "select array_remove(kaint, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_Integer_notnull "select array_remove(kaint, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_remove_TinyInt "select array_remove(katint, element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_TinyInt_notnull "select array_remove(katint, element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_remove_DecimalV3 "select array_remove(kadcml, element_at(kadcml, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_DecimalV3_notnull "select array_remove(kadcml, element_at(kadcml, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_remove_Boolean "select array_remove(kabool, element_at(kabool, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_Boolean_notnull "select array_remove(kabool, element_at(kabool, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_remove_Char "select array_remove(kachr, element_at(kachr, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_Char_notnull "select array_remove(kachr, element_at(kachr, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_remove_Varchar "select array_remove(kavchr, element_at(kavchr, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_Varchar_notnull "select array_remove(kavchr, element_at(kavchr, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_remove_String "select array_remove(kastr, element_at(kastr, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_String_notnull "select array_remove(kastr, element_at(kastr, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_remove_DatetimeV2 "select array_remove(kadtmv2, element_at(kadtmv2, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_DatetimeV2_notnull "select array_remove(kadtmv2, element_at(kadtmv2, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_remove_DateV2 "select array_remove(kadtv2, element_at(kadtv2, 1)) from $nullable_tb order by id"
        order_qt_sql_array_remove_DateV2_notnull "select array_remove(kadtv2, element_at(kadtv2, 1)) from $not_nullable_tb order by id"

        // array_reverse_sort
        order_qt_sql_array_reverse_sort_Double "select array_reverse_sort(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_Double_notnull "select array_reverse_sort(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_reverse_sort_Float "select array_reverse_sort(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_Float_notnull "select array_reverse_sort(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_reverse_sort_LargeInt "select array_reverse_sort(kalint) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_LargeInt_notnull "select array_reverse_sort(kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_reverse_sort_BigInt "select array_reverse_sort(kabint) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_BigInt_notnull "select array_reverse_sort(kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_reverse_sort_SmallInt "select array_reverse_sort(kasint) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_SmallInt_notnull "select array_reverse_sort(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_reverse_sort_Integer "select array_reverse_sort(kaint) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_Integer_notnull "select array_reverse_sort(kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_reverse_sort_TinyInt "select array_reverse_sort(katint) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_TinyInt_notnull "select array_reverse_sort(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_reverse_sort_DecimalV3 "select array_reverse_sort(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_DecimalV3_notnull "select array_reverse_sort(kadcml) from $not_nullable_tb order by id"

        order_qt_sql_array_reverse_sort_Boolean "select array_reverse_sort(kabool) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_Boolean_notnull "select array_reverse_sort(kabool) from $not_nullable_tb order by id"

        order_qt_sql_array_reverse_sort_Char "select array_reverse_sort(kachr) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_Char_notnull "select array_reverse_sort(kachr) from $not_nullable_tb order by id"
        order_qt_sql_array_reverse_sort_Varchar "select array_reverse_sort(kavchr) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_Varchar_notnull "select array_reverse_sort(kavchr) from $not_nullable_tb order by id"
        order_qt_sql_array_reverse_sort_String "select array_reverse_sort(kastr) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_String_notnull "select array_reverse_sort(kastr) from $not_nullable_tb order by id"

        order_qt_sql_array_reverse_sort_DatetimeV2 "select array_reverse_sort(kadtmv2) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_DatetimeV2_notnull "select array_reverse_sort(kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_array_reverse_sort_DateV2 "select array_reverse_sort(kadtv2) from $nullable_tb order by id"
        order_qt_sql_array_reverse_sort_DateV2_notnull "select array_reverse_sort(kadtv2) from $not_nullable_tb order by id"

        // array_slice
        order_qt_sql_array_slice_Double "select array_slice(kadbl, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_Double_notnull "select array_slice(kadbl, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_Float "select array_slice(kafloat, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_Float_notnull "select array_slice(kafloat, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_LargeInt "select array_slice(kalint, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_LargeInt_notnull "select array_slice(kalint, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_BigInt "select array_slice(kabint, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_BigInt_notnull "select array_slice(kabint, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_SmallInt "select array_slice(kasint, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_SmallInt_notnull "select array_slice(kasint, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_Integer "select array_slice(kaint, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_Integer_notnull "select array_slice(kaint, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_TinyInt "select array_slice(katint, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_TinyInt_notnull "select array_slice(katint, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_DecimalV3 "select array_slice(kadcml, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_DecimalV3_notnull "select array_slice(kadcml, element_at(kaint, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_slice_Boolean "select array_slice(kabool, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_Boolean_notnull "select array_slice(kabool, element_at(kaint, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_slice_Char "select array_slice(kachr, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_Char_notnull "select array_slice(kachr, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_Varchar "select array_slice(kavchr, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_Varchar_notnull "select array_slice(kavchr, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_String "select array_slice(kastr, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_String_notnull "select array_slice(kastr, element_at(kaint, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_slice_DatetimeV2 "select array_slice(kadtmv2, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_DatetimeV2_notnull "select array_slice(kadtmv2, element_at(kaint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_DateV2 "select array_slice(kadtv2, element_at(kaint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_DateV2_notnull "select array_slice(kadtv2, element_at(kaint, 1)) from $not_nullable_tb order by id"

        // array_slice
        order_qt_sql_array_slice_three_params_Double "select array_slice(kadbl, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_Double_notnull "select array_slice(kadbl, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_three_params_Float "select array_slice(kafloat, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_Float_notnull "select array_slice(kafloat, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_three_params_LargeInt "select array_slice(kalint, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_LargeInt_notnull "select array_slice(kalint, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_three_params_BigInt "select array_slice(kabint, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_BigInt_notnull "select array_slice(kabint, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_three_params_SmallInt "select array_slice(kasint, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_SmallInt_notnull "select array_slice(kasint, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_three_params_Integer "select array_slice(kaint, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_Integer_notnull "select array_slice(kaint, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_three_params_TinyInt "select array_slice(katint, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_TinyInt_notnull "select array_slice(katint, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_three_params_DecimalV3 "select array_slice(kadcml, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_DecimalV3_notnull "select array_slice(kadcml, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_slice_three_params_Boolean "select array_slice(kabool, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_Boolean_notnull "select array_slice(kabool, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_slice_three_params_Char "select array_slice(kachr, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_Char_notnull "select array_slice(kachr, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_three_params_Varchar "select array_slice(kavchr, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_Varchar_notnull "select array_slice(kavchr, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_three_params_String "select array_slice(kastr, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_String_notnull "select array_slice(kastr, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"

        order_qt_sql_array_slice_three_params_DatetimeV2 "select array_slice(kadtmv2, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_DatetimeV2_notnull "select array_slice(kadtmv2, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"
        order_qt_sql_array_slice_three_params_DateV2 "select array_slice(kadtv2, element_at(kaint, 1), element_at(katint, 1)) from $nullable_tb order by id"
        order_qt_sql_array_slice_three_params_DateV2_notnull "select array_slice(kadtv2, element_at(kaint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"

        // array_sort
        order_qt_sql_array_sort_Double "select array_sort(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_sort_Double_notnull "select array_sort(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_sort_Float "select array_sort(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_sort_Float_notnull "select array_sort(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_sort_LargeInt "select array_sort(kalint) from $nullable_tb order by id"
        order_qt_sql_array_sort_LargeInt_notnull "select array_sort(kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_sort_BigInt "select array_sort(kabint) from $nullable_tb order by id"
        order_qt_sql_array_sort_BigInt_notnull "select array_sort(kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_sort_SmallInt "select array_sort(kasint) from $nullable_tb order by id"
        order_qt_sql_array_sort_SmallInt_notnull "select array_sort(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_sort_Integer "select array_sort(kaint) from $nullable_tb order by id"
        order_qt_sql_array_sort_Integer_notnull "select array_sort(kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_sort_TinyInt "select array_sort(katint) from $nullable_tb order by id"
        order_qt_sql_array_sort_TinyInt_notnull "select array_sort(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_sort_DecimalV3 "select array_sort(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_sort_DecimalV3_notnull "select array_sort(kadcml) from $not_nullable_tb order by id"

        order_qt_sql_array_sort_Boolean "select array_sort(kabool) from $nullable_tb order by id"
        order_qt_sql_array_sort_Boolean_notnull "select array_sort(kabool) from $not_nullable_tb order by id"

        order_qt_sql_array_sort_Char "select array_sort(kachr) from $nullable_tb order by id"
        order_qt_sql_array_sort_Char_notnull "select array_sort(kachr) from $not_nullable_tb order by id"
        order_qt_sql_array_sort_Varchar "select array_sort(kavchr) from $nullable_tb order by id"
        order_qt_sql_array_sort_Varchar_notnull "select array_sort(kavchr) from $not_nullable_tb order by id"
        order_qt_sql_array_sort_String "select array_sort(kastr) from $nullable_tb order by id"
        order_qt_sql_array_sort_String_notnull "select array_sort(kastr) from $not_nullable_tb order by id"

        order_qt_sql_array_sort_DatetimeV2 "select array_sort(kadtmv2) from $nullable_tb order by id"
        order_qt_sql_array_sort_DatetimeV2_notnull "select array_sort(kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_array_sort_DateV2 "select array_sort(kadtv2) from $nullable_tb order by id"
        order_qt_sql_array_sort_DateV2_notnull "select array_sort(kadtv2) from $not_nullable_tb order by id"

        // array_sum
        order_qt_sql_array_sum_Double "select array_sum(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_sum_Double_notnull "select array_sum(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_sum_Float "select array_sum(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_sum_Float_notnull "select array_sum(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_sum_LargeInt "select array_sum(kalint) from $nullable_tb order by id"
        order_qt_sql_array_sum_LargeInt_notnull "select array_sum(kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_sum_BigInt "select array_sum(kabint) from $nullable_tb order by id"
        order_qt_sql_array_sum_BigInt_notnull "select array_sum(kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_sum_SmallInt "select array_sum(kasint) from $nullable_tb order by id"
        order_qt_sql_array_sum_SmallInt_notnull "select array_sum(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_sum_Integer "select array_sum(kaint) from $nullable_tb order by id"
        order_qt_sql_array_sum_Integer_notnull "select array_sum(kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_sum_TinyInt "select array_sum(katint) from $nullable_tb order by id"
        order_qt_sql_array_sum_TinyInt_notnull "select array_sum(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_sum_DecimalV3 "select array_sum(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_sum_DecimalV3_notnull "select array_sum(kadcml) from $not_nullable_tb order by id"

        // array_union
        order_qt_sql_array_union_Double "select array_sort(array_union(kadbl, kadbl)) from $nullable_tb order by id"
        order_qt_sql_array_union_Double_notnull "select array_sort(array_union(kadbl, kadbl)) from $not_nullable_tb order by id"
        order_qt_sql_array_union_Float "select array_sort(array_union(kafloat, kafloat)) from $nullable_tb order by id"
        order_qt_sql_array_union_Float_notnull "select array_sort(array_union(kafloat, kafloat)) from $not_nullable_tb order by id"
        order_qt_sql_array_union_LargeInt "select array_sort(array_union(kalint, kalint)) from $nullable_tb order by id"
        order_qt_sql_array_union_LargeInt_notnull "select array_sort(array_union(kalint, kalint)) from $not_nullable_tb order by id"
        order_qt_sql_array_union_BigInt "select array_sort(array_union(kabint, kabint)) from $nullable_tb order by id"
        order_qt_sql_array_union_BigInt_notnull "select array_sort(array_union(kabint, kabint)) from $not_nullable_tb order by id"
        order_qt_sql_array_union_SmallInt "select array_sort(array_union(kasint, kasint)) from $nullable_tb order by id"
        order_qt_sql_array_union_SmallInt_notnull "select array_sort(array_union(kasint, kasint)) from $not_nullable_tb order by id"
        order_qt_sql_array_union_Integer "select array_sort(array_union(kaint, kaint)) from $nullable_tb order by id"
        order_qt_sql_array_union_Integer_notnull "select array_sort(array_union(kaint, kaint)) from $not_nullable_tb order by id"
        order_qt_sql_array_union_TinyInt "select array_sort(array_union(katint, katint)) from $nullable_tb order by id"
        order_qt_sql_array_union_TinyInt_notnull "select array_sort(array_union(katint, katint)) from $not_nullable_tb order by id"
        order_qt_sql_array_union_DecimalV3 "select array_sort(array_union(kadcml, kadcml)) from $nullable_tb order by id"
        order_qt_sql_array_union_DecimalV3_notnull "select array_sort(array_union(kadcml, kadcml)) from $not_nullable_tb order by id"

        order_qt_sql_array_union_Boolean "select array_sort(array_union(kabool, kabool)) from $nullable_tb order by id"
        order_qt_sql_array_union_Boolean_notnull "select array_sort(array_union(kabool, kabool)) from $not_nullable_tb order by id"

        order_qt_sql_array_union_Char "select array_sort(array_union(kachr, kachr)) from $nullable_tb order by id"
        order_qt_sql_array_union_Char_notnull "select array_sort(array_union(kachr, kachr)) from $not_nullable_tb order by id"
        order_qt_sql_array_union_Varchar "select array_sort(array_union(kavchr, kavchr)) from $nullable_tb order by id"
        order_qt_sql_array_union_Varchar_notnull "select array_sort(array_union(kavchr, kavchr)) from $not_nullable_tb order by id"
        order_qt_sql_array_union_String "select array_sort(array_union(kastr, kastr)) from $nullable_tb order by id"
        order_qt_sql_array_union_String_notnull "select array_sort(array_union(kastr, kastr)) from $not_nullable_tb order by id"

        order_qt_sql_array_union_DatetimeV2 "select array_sort(array_union(kadtmv2, kadtmv2)) from $nullable_tb order by id"
        order_qt_sql_array_union_DatetimeV2_notnull "select array_sort(array_union(kadtmv2, kadtmv2)) from $not_nullable_tb order by id"
        order_qt_sql_array_union_DateV2 "select array_sort(array_union(kadtv2, kadtv2)) from $nullable_tb order by id"
        order_qt_sql_array_union_DateV2_notnull "select array_sort(array_union(kadtv2, kadtv2)) from $not_nullable_tb order by id"

        // array_with_constant
        // [INVALID_ARGUMENT]Array size should in range(0, 1000000)
//////        order_qt_sql_array_with_constant_Double "select array_with_constant(element_at(kaint, 1), element_at(kadbl, 1)) from $nullable_tb order by id limit 4"
//////        order_qt_sql_array_with_constant_Double_notnull "select array_with_constant(element_at(kaint, 1), element_at(kadbl, 1)) from $not_nullable_tb order by id limit 4"
//////        order_qt_sql_array_with_constant_Float "select array_with_constant(element_at(kaint, 1), element_at(kafloat, 1)) from $nullable_tb order by id limit 4"
//////        order_qt_sql_array_with_constant_Float_notnull "select array_with_constant(element_at(kaint, 1), element_at(kafloat, 1)) from $not_nullable_tb order by id limit 4"
////        order_qt_sql_array_with_constant_LargeInt "select array_with_constant(element_at(kaint, 1), element_at(kalint, 1)) from $nullable_tb order by id"
////        order_qt_sql_array_with_constant_LargeInt_notnull "select array_with_constant(element_at(kaint, 1), element_at(kalint, 1)) from $not_nullable_tb order by id"
////        order_qt_sql_array_with_constant_BigInt "select array_with_constant(element_at(kaint, 1), element_at(kabint, 1)) from $nullable_tb order by id"
////        order_qt_sql_array_with_constant_BigInt_notnull "select array_with_constant(element_at(kaint, 1), element_at(kabint, 1)) from $not_nullable_tb order by id"
//        order_qt_sql_array_with_constant_SmallInt "select array_with_constant(element_at(kasint, 1), element_at(kasint, 1)) from $nullable_tb order by id"
//        order_qt_sql_array_with_constant_SmallInt_notnull "select array_with_constant(element_at(kasint, 1), element_at(kasint, 1)) from $not_nullable_tb order by id"
//        order_qt_sql_array_with_constant_Integer "select array_with_constant(element_at(kaint, 1), element_at(kaint, 1)) from $nullable_tb order by id"
//        order_qt_sql_array_with_constant_Integer_notnull "select array_with_constant(element_at(kaint, 1), element_at(kaint, 1)) from $not_nullable_tb order by id"
//        order_qt_sql_array_with_constant_TinyInt "select array_with_constant(element_at(katint, 1), element_at(katint, 1)) from $nullable_tb order by id"
//        order_qt_sql_array_with_constant_TinyInt_notnull "select array_with_constant(element_at(katint, 1), element_at(katint, 1)) from $not_nullable_tb order by id"
//        order_qt_sql_array_with_constant_DecimalV3 "select array_with_constant(element_at(kadcml, 1), element_at(kadcml, 1)) from $nullable_tb order by id"
//        order_qt_sql_array_with_constant_DecimalV3_notnull "select array_with_constant(element_at(kadcml, 1), element_at(kadcml, 1)) from $not_nullable_tb order by id"
//
//        order_qt_sql_array_with_constant_Boolean "select array_with_constant(element_at(kabool, 1), element_at(kabool, 1)) from $nullable_tb order by id"
//        order_qt_sql_array_with_constant_Boolean_notnull "select array_with_constant(element_at(kabool, 1), element_at(kabool, 1)) from $not_nullable_tb order by id"
//
//        order_qt_sql_array_with_constant_Char "select array_with_constant(element_at(kaint, 1), element_at(kachr, 1)) from $nullable_tb order by id"
//        order_qt_sql_array_with_constant_Char_notnull "select array_with_constant(element_at(kaint, 1), element_at(kachr, 1)) from $not_nullable_tb order by id"
//        order_qt_sql_array_with_constant_Varchar "select array_with_constant(element_at(kaint, 1), element_at(kavchr, 1)) from $nullable_tb order by id"
//        order_qt_sql_array_with_constant_Varchar_notnull "select array_with_constant(element_at(kaint, 1), element_at(kavchr, 1)) from $not_nullable_tb order by id"
//        order_qt_sql_array_with_constant_String "select array_with_constant(element_at(kaint, 1), element_at(kastr, 1)) from $nullable_tb order by id"
//        order_qt_sql_array_with_constant_String_notnull "select array_with_constant(element_at(kaint, 1), element_at(kastr, 1)) from $not_nullable_tb order by id"

//        order_qt_sql_array_with_constant_DatetimeV2 "select array_with_constant(element_at(kaint, 1), kadtmv2_) from $nullable_tb order by id"
//        order_qt_sql_array_with_constant_DatetimeV2_notnull "select array_with_constant(element_at(kaint, 1), kadtmv2_) from $not_nullable_tb order by id"
//        order_qt_sql_array_with_constant_DateV2 "select array_with_constant(element_at(kaint, 1), element_at(kadtv2, 1)) from $nullable_tb order by id"
//        order_qt_sql_array_with_constant_DateV2_notnull "select array_with_constant(element_at(kaint, 1), element_at(kadtv2, 1)) from $not_nullable_tb order by id"

        // cardinality
        order_qt_sql_cardinality_Double "select cardinality(kadbl) from $nullable_tb order by id"
        order_qt_sql_cardinality_Double_notnull "select cardinality(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_cardinality_Float "select cardinality(kafloat) from $nullable_tb order by id"
        order_qt_sql_cardinality_Float_notnull "select cardinality(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_cardinality_LargeInt "select cardinality(kalint) from $nullable_tb order by id"
        order_qt_sql_cardinality_LargeInt_notnull "select cardinality(kalint) from $not_nullable_tb order by id"
        order_qt_sql_cardinality_BigInt "select cardinality(kabint) from $nullable_tb order by id"
        order_qt_sql_cardinality_BigInt_notnull "select cardinality(kabint) from $not_nullable_tb order by id"
        order_qt_sql_cardinality_SmallInt "select cardinality(kasint) from $nullable_tb order by id"
        order_qt_sql_cardinality_SmallInt_notnull "select cardinality(kasint) from $not_nullable_tb order by id"
        order_qt_sql_cardinality_Integer "select cardinality(kaint) from $nullable_tb order by id"
        order_qt_sql_cardinality_Integer_notnull "select cardinality(kaint) from $not_nullable_tb order by id"
        order_qt_sql_cardinality_TinyInt "select cardinality(katint) from $nullable_tb order by id"
        order_qt_sql_cardinality_TinyInt_notnull "select cardinality(katint) from $not_nullable_tb order by id"
        order_qt_sql_cardinality_DecimalV3 "select cardinality(kadcml) from $nullable_tb order by id"
        order_qt_sql_cardinality_DecimalV3_notnull "select cardinality(kadcml) from $not_nullable_tb order by id"

        order_qt_sql_cardinality_Boolean "select cardinality(kabool) from $nullable_tb order by id"
        order_qt_sql_cardinality_Boolean_notnull "select cardinality(kabool) from $not_nullable_tb order by id"

        order_qt_sql_cardinality_Char "select cardinality(kachr) from $nullable_tb order by id"
        order_qt_sql_cardinality_Char_notnull "select cardinality(kachr) from $not_nullable_tb order by id"
        order_qt_sql_cardinality_Varchar "select cardinality(kavchr) from $nullable_tb order by id"
        order_qt_sql_cardinality_Varchar_notnull "select cardinality(kavchr) from $not_nullable_tb order by id"
        order_qt_sql_cardinality_String "select cardinality(kastr) from $nullable_tb order by id"
        order_qt_sql_cardinality_String_notnull "select cardinality(kastr) from $not_nullable_tb order by id"

        order_qt_sql_cardinality_DatetimeV2 "select cardinality(kadtmv2) from $nullable_tb order by id"
        order_qt_sql_cardinality_DatetimeV2_notnull "select cardinality(kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_cardinality_DateV2 "select cardinality(kadtv2) from $nullable_tb order by id"
        order_qt_sql_cardinality_DateV2_notnull "select cardinality(kadtv2) from $not_nullable_tb order by id"

        // array_size
        order_qt_sql_array_size_Double "select array_size(kadbl) from $nullable_tb order by id"
        order_qt_sql_array_size_Double_notnull "select array_size(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_size_Float "select array_size(kafloat) from $nullable_tb order by id"
        order_qt_sql_array_size_Float_notnull "select array_size(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_size_LargeInt "select array_size(kalint) from $nullable_tb order by id"
        order_qt_sql_array_size_LargeInt_notnull "select array_size(kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_size_BigInt "select array_size(kabint) from $nullable_tb order by id"
        order_qt_sql_array_size_BigInt_notnull "select array_size(kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_size_SmallInt "select array_size(kasint) from $nullable_tb order by id"
        order_qt_sql_array_size_SmallInt_notnull "select array_size(kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_size_Integer "select array_size(kaint) from $nullable_tb order by id"
        order_qt_sql_array_size_Integer_notnull "select array_size(kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_size_TinyInt "select array_size(katint) from $nullable_tb order by id"
        order_qt_sql_array_size_TinyInt_notnull "select array_size(katint) from $not_nullable_tb order by id"
        order_qt_sql_array_size_DecimalV3 "select array_size(kadcml) from $nullable_tb order by id"
        order_qt_sql_array_size_DecimalV3_notnull "select array_size(kadcml) from $not_nullable_tb order by id"

        order_qt_sql_array_size_Boolean "select array_size(kabool) from $nullable_tb order by id"
        order_qt_sql_array_size_Boolean_notnull "select array_size(kabool) from $not_nullable_tb order by id"

        order_qt_sql_array_size_Char "select array_size(kachr) from $nullable_tb order by id"
        order_qt_sql_array_size_Char_notnull "select array_size(kachr) from $not_nullable_tb order by id"
        order_qt_sql_array_size_Varchar "select array_size(kavchr) from $nullable_tb order by id"
        order_qt_sql_array_size_Varchar_notnull "select array_size(kavchr) from $not_nullable_tb order by id"
        order_qt_sql_array_size_String "select array_size(kastr) from $nullable_tb order by id"
        order_qt_sql_array_size_String_notnull "select array_size(kastr) from $not_nullable_tb order by id"

        order_qt_sql_array_size_DatetimeV2 "select array_size(kadtmv2) from $nullable_tb order by id"
        order_qt_sql_array_size_DatetimeV2_notnull "select array_size(kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_array_size_DateV2 "select array_size(kadtv2) from $nullable_tb order by id"
        order_qt_sql_array_size_DateV2_notnull "select array_size(kadtv2) from $not_nullable_tb order by id"

        // size
        order_qt_sql_size_Double "select size(kadbl) from $nullable_tb order by id"
        order_qt_sql_size_Double_notnull "select size(kadbl) from $not_nullable_tb order by id"
        order_qt_sql_size_Float "select size(kafloat) from $nullable_tb order by id"
        order_qt_sql_size_Float_notnull "select size(kafloat) from $not_nullable_tb order by id"
        order_qt_sql_size_LargeInt "select size(kalint) from $nullable_tb order by id"
        order_qt_sql_size_LargeInt_notnull "select size(kalint) from $not_nullable_tb order by id"
        order_qt_sql_size_BigInt "select size(kabint) from $nullable_tb order by id"
        order_qt_sql_size_BigInt_notnull "select size(kabint) from $not_nullable_tb order by id"
        order_qt_sql_size_SmallInt "select size(kasint) from $nullable_tb order by id"
        order_qt_sql_size_SmallInt_notnull "select size(kasint) from $not_nullable_tb order by id"
        order_qt_sql_size_Integer "select size(kaint) from $nullable_tb order by id"
        order_qt_sql_size_Integer_notnull "select size(kaint) from $not_nullable_tb order by id"
        order_qt_sql_size_TinyInt "select size(katint) from $nullable_tb order by id"
        order_qt_sql_size_TinyInt_notnull "select size(katint) from $not_nullable_tb order by id"
        order_qt_sql_size_DecimalV3 "select size(kadcml) from $nullable_tb order by id"
        order_qt_sql_size_DecimalV3_notnull "select size(kadcml) from $not_nullable_tb order by id"

        order_qt_sql_size_Boolean "select size(kabool) from $nullable_tb order by id"
        order_qt_sql_size_Boolean_notnull "select size(kabool) from $not_nullable_tb order by id"

        order_qt_sql_size_Char "select size(kachr) from $nullable_tb order by id"
        order_qt_sql_size_Char_notnull "select size(kachr) from $not_nullable_tb order by id"
        order_qt_sql_size_Varchar "select size(kavchr) from $nullable_tb order by id"
        order_qt_sql_size_Varchar_notnull "select size(kavchr) from $not_nullable_tb order by id"
        order_qt_sql_size_String "select size(kastr) from $nullable_tb order by id"
        order_qt_sql_size_String_notnull "select size(kastr) from $not_nullable_tb order by id"

        order_qt_sql_size_DatetimeV2 "select size(kadtmv2) from $nullable_tb order by id"
        order_qt_sql_size_DatetimeV2_notnull "select size(kadtmv2) from $not_nullable_tb order by id"
        order_qt_sql_size_DateV2 "select size(kadtv2) from $nullable_tb order by id"
        order_qt_sql_size_DateV2_notnull "select size(kadtv2) from $not_nullable_tb order by id"

        // split_by_string
        order_qt_sql_split_by_string_Char "select split_by_string(element_at(kachr, 1), ',') from $nullable_tb order by id"
        order_qt_sql_split_by_string_Char_notnull "select split_by_string(element_at(kachr, 1), ',') from $not_nullable_tb order by id"
        order_qt_sql_split_by_string_VarChar "select split_by_string(element_at(kavchr, 1), ',') from $nullable_tb order by id"
        order_qt_sql_split_by_string_VarChar_notnull "select split_by_string(element_at(kavchr, 1), ',') from $not_nullable_tb order by id"
        order_qt_sql_split_by_string_String "select split_by_string(element_at(kastr, 1), ',') from $nullable_tb order by id"
        order_qt_sql_split_by_string_String_notnull "select split_by_string(element_at(kastr, 1), ',') from $not_nullable_tb order by id"

        // tokenize
        order_qt_sql_tokenize_Char "select tokenize(element_at(kachr, 1), '') from $nullable_tb order by id"
        order_qt_sql_tokenize_Char_notnull "select tokenize(element_at(kachr, 1), '') from $not_nullable_tb order by id"
        order_qt_sql_tokenize_VarChar "select tokenize(element_at(kavchr, 1), null) from $nullable_tb order by id"
        order_qt_sql_tokenize_VarChar_notnull "select tokenize(element_at(kavchr, 1), '') from $not_nullable_tb order by id"
        order_qt_sql_tokenize_String "select tokenize(element_at(kastr, 1), '') from $nullable_tb order by id"
        order_qt_sql_tokenize_String_notnull "select tokenize(element_at(kastr, 1), null) from $not_nullable_tb order by id"

        // test array_map
        order_qt_sql_array_map_Double "select array_map(x -> x is not null, kadbl) from $nullable_tb order by id"
        order_qt_sql_array_map_Double_notnull "select array_map(x -> x is not null, kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_map_Float "select array_map(x -> x is not null, kafloat) from $nullable_tb order by id"
        order_qt_sql_array_map_Float_notnull "select array_map(x -> x is not null, kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_map_LargeInt "select array_map(x -> x is not null, kalint) from $nullable_tb order by id"
        order_qt_sql_array_map_LargeInt_notnull "select array_map(x -> x is not null, kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_map_BigInt "select array_map(x -> x is not null, kabint) from $nullable_tb order by id"
        order_qt_sql_array_map_BigInt_notnull "select array_map(x -> x is not null, kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_map_SmallInt "select array_map(x -> x is not null, kasint) from $nullable_tb order by id"
        order_qt_sql_array_map_SmallInt_notnull "select array_map(x -> x is not null, kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_map_Integer "select array_map(x -> x is not null, kaint) from $nullable_tb order by id"
        order_qt_sql_array_map_Integer_notnull "select array_map(x -> x is not null, kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_map_TinyInt "select array_map(x -> x is not null, katint) from $nullable_tb order by id"
        order_qt_sql_array_map_TinyInt_notnull "select array_map(x -> x is not null, katint) from $not_nullable_tb order by id"
        order_qt_sql_array_map_DecimalV3 "select array_map(x -> x is not null, kadcml) from $nullable_tb order by id"
        order_qt_sql_array_map_DecimalV3_notnull "select array_map(x -> x is not null, kadcml) from $not_nullable_tb order by id"
        order_qt_sql_array_map_lambda_agg "select array_map(x->(x+100), collect_list(element_at(katint, 1))) from $nullable_tb group by id order by id;"

        // test array_exists
        order_qt_sql_array_exists_Double "select array_exists(x -> x > 1, kadbl) from $nullable_tb order by id"
        order_qt_sql_array_exists_Double_notnull "select array_exists(x -> x > 1, kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_exists_Float "select array_exists(x -> x > 1, kafloat) from $nullable_tb order by id"
        order_qt_sql_array_exists_Float_notnull "select array_exists(x -> x > 1, kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_exists_LargeInt "select array_exists(x -> x > 1, kalint) from $nullable_tb order by id"
        order_qt_sql_array_exists_LargeInt_notnull "select array_exists(x -> x > 1, kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_exists_BigInt "select array_exists(x -> x > 1, kabint) from $nullable_tb order by id"
        order_qt_sql_array_exists_BigInt_notnull "select array_exists(x -> x > 1, kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_exists_SmallInt "select array_exists(x -> x > 1, kasint) from $nullable_tb order by id"
        order_qt_sql_array_exists_SmallInt_notnull "select array_exists(x -> x > 1, kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_exists_Integer "select array_exists(x -> x > 1, kaint) from $nullable_tb order by id"
        order_qt_sql_array_exists_Integer_notnull "select array_exists(x -> x > 1, kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_exists_TinyInt "select array_exists(x -> x > 1, katint) from $nullable_tb order by id"
        order_qt_sql_array_exists_TinyInt_notnull "select array_exists(x -> x > 1, katint) from $not_nullable_tb order by id"
        order_qt_sql_array_exists_DecimalV3 "select array_exists(x -> x > 1, kadcml) from $nullable_tb order by id"
        order_qt_sql_array_exists_DecimalV3_notnull "select array_exists(x -> x > 1, kadcml) from $not_nullable_tb order by id"
        // test array_first_index
        order_qt_sql_array_first_index_Double "select array_first_index(x -> x > 1, kadbl) from $nullable_tb order by id"
        order_qt_sql_array_first_index_Double_notnull "select array_first_index(x -> x > 1, kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_first_index_Float "select array_first_index(x -> x > 1, kafloat) from $nullable_tb order by id"
        order_qt_sql_array_first_index_Float_notnull "select array_first_index(x -> x > 1, kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_first_index_LargeInt "select array_first_index(x -> x > 1, kalint) from $nullable_tb order by id"
        order_qt_sql_array_first_index_LargeInt_notnull "select array_first_index(x -> x > 1, kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_first_index_BigInt "select array_first_index(x -> x > 1, kabint) from $nullable_tb order by id"
        order_qt_sql_array_first_index_BigInt_notnull "select array_first_index(x -> x > 1, kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_first_index_SmallInt "select array_first_index(x -> x > 1, kasint) from $nullable_tb order by id"
        order_qt_sql_array_first_index_SmallInt_notnull "select array_first_index(x -> x > 1, kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_first_index_Integer "select array_first_index(x -> x > 1, kaint) from $nullable_tb order by id"
        order_qt_sql_array_first_index_Integer_notnull "select array_first_index(x -> x > 1, kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_first_index_TinyInt "select array_first_index(x -> x > 1, katint) from $nullable_tb order by id"
        order_qt_sql_array_first_index_TinyInt_notnull "select array_first_index(x -> x > 1, katint) from $not_nullable_tb order by id"
        order_qt_sql_array_first_index_DecimalV3 "select array_first_index(x -> x > 1, kadcml) from $nullable_tb order by id"
        order_qt_sql_array_first_index_DecimalV3_notnull "select array_first_index(x -> x > 1, kadcml) from $not_nullable_tb order by id"
        // test array_count
        order_qt_sql_array_count_Double "select array_count(x -> x > 1, kadbl) from $nullable_tb order by id"
        order_qt_sql_array_count_Double_notnull "select array_count(x -> x > 1, kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_count_Float "select array_count(x -> x > 1, kafloat) from $nullable_tb order by id"
        order_qt_sql_array_count_Float_notnull "select array_count(x -> x > 1, kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_count_LargeInt "select array_count(x -> x > 1, kalint) from $nullable_tb order by id"
        order_qt_sql_array_count_LargeInt_notnull "select array_count(x -> x > 1, kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_count_BigInt "select array_count(x -> x > 1, kabint) from $nullable_tb order by id"
        order_qt_sql_array_count_BigInt_notnull "select array_count(x -> x > 1, kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_count_SmallInt "select array_count(x -> x > 1, kasint) from $nullable_tb order by id"
        order_qt_sql_array_count_SmallInt_notnull "select array_count(x -> x > 1, kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_count_Integer "select array_count(x -> x > 1, kaint) from $nullable_tb order by id"
        order_qt_sql_array_count_Integer_notnull "select array_count(x -> x > 1, kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_count_TinyInt "select array_count(x -> x > 1, katint) from $nullable_tb order by id"
        order_qt_sql_array_count_TinyInt_notnull "select array_count(x -> x > 1, katint) from $not_nullable_tb order by id"
        order_qt_sql_array_count_DecimalV3 "select array_count(x -> x > 1, kadcml) from $nullable_tb order by id"
        order_qt_sql_array_count_DecimalV3_notnull "select array_count(x -> x > 1, kadcml) from $not_nullable_tb order by id"
        // test array_map
        order_qt_sql_array_map_Double "select array_map(x -> x > 1, kadbl) from $nullable_tb order by id"
        order_qt_sql_array_map_Double_notnull "select array_map(x -> x > 1, kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_map_Float "select array_map(x -> x > 1, kafloat) from $nullable_tb order by id"
        order_qt_sql_array_map_Float_notnull "select array_map(x -> x > 1, kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_map_LargeInt "select array_map(x -> x > 1, kalint) from $nullable_tb order by id"
        order_qt_sql_array_map_LargeInt_notnull "select array_map(x -> x > 1, kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_map_BigInt "select array_map(x -> x > 1, kabint) from $nullable_tb order by id"
        order_qt_sql_array_map_BigInt_notnull "select array_map(x -> x > 1, kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_map_SmallInt "select array_map(x -> x > 1, kasint) from $nullable_tb order by id"
        order_qt_sql_array_map_SmallInt_notnull "select array_map(x -> x > 1, kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_map_Integer "select array_map(x -> x > 1, kaint) from $nullable_tb order by id"
        order_qt_sql_array_map_Integer_notnull "select array_map(x -> x > 1, kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_map_TinyInt "select array_map(x -> x > 1, katint) from $nullable_tb order by id"
        order_qt_sql_array_map_TinyInt_notnull "select array_map(x -> x > 1, katint) from $not_nullable_tb order by id"
        order_qt_sql_array_map_DecimalV3 "select array_map(x -> x > 1, kadcml) from $nullable_tb order by id"
        order_qt_sql_array_map_DecimalV3_notnull "select array_map(x -> x > 1, kadcml) from $not_nullable_tb order by id"
        // test array_filter
        order_qt_sql_array_filter_Double "select array_filter(x -> x > 1, kadbl) from $nullable_tb order by id"
        order_qt_sql_array_filter_Double_notnull "select array_filter(x -> x > 1, kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_filter_Float "select array_filter(x -> x > 1, kafloat) from $nullable_tb order by id"
        order_qt_sql_array_filter_Float_notnull "select array_filter(x -> x > 1, kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_filter_LargeInt "select array_filter(x -> x > 1, kalint) from $nullable_tb order by id"
        order_qt_sql_array_filter_LargeInt_notnull "select array_filter(x -> x > 1, kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_filter_BigInt "select array_filter(x -> x > 1, kabint) from $nullable_tb order by id"
        order_qt_sql_array_filter_BigInt_notnull "select array_filter(x -> x > 1, kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_filter_SmallInt "select array_filter(x -> x > 1, kasint) from $nullable_tb order by id"
        order_qt_sql_array_filter_SmallInt_notnull "select array_filter(x -> x > 1, kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_filter_Integer "select array_filter(x -> x > 1, kaint) from $nullable_tb order by id"
        order_qt_sql_array_filter_Integer_notnull "select array_filter(x -> x > 1, kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_filter_TinyInt "select array_filter(x -> x > 1, katint) from $nullable_tb order by id"
        order_qt_sql_array_filter_TinyInt_notnull "select array_filter(x -> x > 1, katint) from $not_nullable_tb order by id"
        order_qt_sql_array_filter_DecimalV3 "select array_filter(x -> x > 1, kadcml) from $nullable_tb order by id"
        order_qt_sql_array_filter_DecimalV3_notnull "select array_filter(x -> x > 1, kadcml) from $not_nullable_tb order by id"
        // test array_sortby
        order_qt_sql_array_sortby_Double "select array_sortby(x -> x + 1, kadbl) from $nullable_tb order by id"
        order_qt_sql_array_sortby_Double_notnull "select array_sortby(x -> x + 1, kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_sortby_Float "select array_sortby(x -> x + 1, kafloat) from $nullable_tb order by id"
        order_qt_sql_array_sortby_Float_notnull "select array_sortby(x -> x + 1, kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_sortby_LargeInt "select array_sortby(x -> x + 1, kalint) from $nullable_tb order by id"
        order_qt_sql_array_sortby_LargeInt_notnull "select array_sortby(x -> x + 1, kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_sortby_BigInt "select array_sortby(x -> x + 1, kabint) from $nullable_tb order by id"
        order_qt_sql_array_sortby_BigInt_notnull "select array_sortby(x -> x + 1, kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_sortby_SmallInt "select array_sortby(x -> x + 1, kasint) from $nullable_tb order by id"
        order_qt_sql_array_sortby_SmallInt_notnull "select array_sortby(x -> x + 1, kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_sortby_Integer "select array_sortby(x -> x + 1, kaint) from $nullable_tb order by id"
        order_qt_sql_array_sortby_Integer_notnull "select array_sortby(x -> x + 1, kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_sortby_TinyInt "select array_sortby(x -> x + 1, katint) from $nullable_tb order by id"
        order_qt_sql_array_sortby_TinyInt_notnull "select array_sortby(x -> x + 1, katint) from $not_nullable_tb order by id"
        order_qt_sql_array_sortby_DecimalV3 "select array_sortby(x -> x + 1, kadcml) from $nullable_tb order by id"
        order_qt_sql_array_sortby_DecimalV3_notnull "select array_sortby(x -> x + 1, kadcml) from $not_nullable_tb order by id"
        // test array_last_index
        order_qt_sql_array_last_index_Double "select array_last_index(x -> x > 1, kadbl) from $nullable_tb order by id"
        order_qt_sql_array_last_index_Double_notnull "select array_last_index(x -> x > 1, kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_last_index_Float "select array_last_index(x -> x > 1, kafloat) from $nullable_tb order by id"
        order_qt_sql_array_last_index_Float_notnull "select array_last_index(x -> x > 1, kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_last_index_LargeInt "select array_last_index(x -> x > 1, kalint) from $nullable_tb order by id"
        order_qt_sql_array_last_index_LargeInt_notnull "select array_last_index(x -> x > 1, kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_last_index_BigInt "select array_last_index(x -> x > 1, kabint) from $nullable_tb order by id"
        order_qt_sql_array_last_index_BigInt_notnull "select array_last_index(x -> x > 1, kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_last_index_SmallInt "select array_last_index(x -> x > 1, kasint) from $nullable_tb order by id"
        order_qt_sql_array_last_index_SmallInt_notnull "select array_last_index(x -> x > 1, kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_last_index_Integer "select array_last_index(x -> x > 1, kaint) from $nullable_tb order by id"
        order_qt_sql_array_last_index_Integer_notnull "select array_last_index(x -> x > 1, kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_last_index_TinyInt "select array_last_index(x -> x > 1, katint) from $nullable_tb order by id"
        order_qt_sql_array_last_index_TinyInt_notnull "select array_last_index(x -> x > 1, katint) from $not_nullable_tb order by id"
        order_qt_sql_array_last_index_DecimalV3 "select array_last_index(x -> x > 1, kadcml) from $nullable_tb order by id"
        order_qt_sql_array_last_index_DecimalV3_notnull "select array_last_index(x -> x > 1, kadcml) from $not_nullable_tb order by id"
        order_qt_sql_array_first_Double "select array_first(x -> x > 1, kadbl) from $nullable_tb order by id"
        // test array_first
        order_qt_sql_array_first_Double_notnull "select array_first(x -> x > 1, kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_first_Float "select array_first(x -> x > 1, kafloat) from $nullable_tb order by id"
        order_qt_sql_array_first_Float_notnull "select array_first(x -> x > 1, kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_first_LargeInt "select array_first(x -> x > 1, kalint) from $nullable_tb order by id"
        order_qt_sql_array_first_LargeInt_notnull "select array_first(x -> x > 1, kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_first_BigInt "select array_first(x -> x > 1, kabint) from $nullable_tb order by id"
        order_qt_sql_array_first_BigInt_notnull "select array_first(x -> x > 1, kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_first_SmallInt "select array_first(x -> x > 1, kasint) from $nullable_tb order by id"
        order_qt_sql_array_first_SmallInt_notnull "select array_first(x -> x > 1, kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_first_Integer "select array_first(x -> x > 1, kaint) from $nullable_tb order by id"
        order_qt_sql_array_first_Integer_notnull "select array_first(x -> x > 1, kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_first_TinyInt "select array_first(x -> x > 1, katint) from $nullable_tb order by id"
        order_qt_sql_array_first_TinyInt_notnull "select array_first(x -> x > 1, katint) from $not_nullable_tb order by id"
        order_qt_sql_array_first_DecimalV3 "select array_first(x -> x > 1, kadcml) from $nullable_tb order by id"
        order_qt_sql_array_first_DecimalV3_notnull "select array_first(x -> x > 1, kadcml) from $not_nullable_tb order by id"
        // test array_last
        order_qt_sql_array_last_Double "select array_last(x -> x > 1, kadbl) from $nullable_tb order by id"
        order_qt_sql_array_last_Double_notnull "select array_last(x -> x > 1, kadbl) from $not_nullable_tb order by id"
        order_qt_sql_array_last_Float "select array_last(x -> x > 1, kafloat) from $nullable_tb order by id"
        order_qt_sql_array_last_Float_notnull "select array_last(x -> x > 1, kafloat) from $not_nullable_tb order by id"
        order_qt_sql_array_last_LargeInt "select array_last(x -> x > 1, kalint) from $nullable_tb order by id"
        order_qt_sql_array_last_LargeInt_notnull "select array_last(x -> x > 1, kalint) from $not_nullable_tb order by id"
        order_qt_sql_array_last_BigInt "select array_last(x -> x > 1, kabint) from $nullable_tb order by id"
        order_qt_sql_array_last_BigInt_notnull "select array_last(x -> x > 1, kabint) from $not_nullable_tb order by id"
        order_qt_sql_array_last_SmallInt "select array_last(x -> x > 1, kasint) from $nullable_tb order by id"
        order_qt_sql_array_last_SmallInt_notnull "select array_last(x -> x > 1, kasint) from $not_nullable_tb order by id"
        order_qt_sql_array_last_Integer "select array_last(x -> x > 1, kaint) from $nullable_tb order by id"
        order_qt_sql_array_last_Integer_notnull "select array_last(x -> x > 1, kaint) from $not_nullable_tb order by id"
        order_qt_sql_array_last_TinyInt "select array_last(x -> x > 1, katint) from $nullable_tb order by id"
        order_qt_sql_array_last_TinyInt_notnull "select array_last(x -> x > 1, katint) from $not_nullable_tb order by id"
        order_qt_sql_array_last_DecimalV3 "select array_last(x -> x > 1, kadcml) from $nullable_tb order by id"
        order_qt_sql_array_last_DecimalV3_notnull "select array_last(x -> x > 1, kadcml) from $not_nullable_tb order by id"

        // test array_apply. need FE fix to support the third parameter as a constant
        // order_qt_array_apply_datetimev2 """select array_apply(kadtmv2, "=", '2022-12-02 22:23:24.999999') from $nullable_tb order by id"""
        // order_qt_array_apply_datetimev2_notnull """select array_apply(kadtmv2, "=", '2022-12-02 22:23:24.999999') from $not_nullable_tb order by id"""
        // order_qt_array_apply_datetimev2_lg """select array_apply(kadtmv2, ">", '2022-12-01 22:23:24.999999') from $nullable_tb order by id"""
        // order_qt_array_apply_datetimev2_lg_notnull """select array_apply(kadtmv2, ">", '2022-12-01 22:23:24.999999') from $not_nullable_tb order by id"""
        // order_qt_array_apply_datetimev2_null """select array_apply(kadtmv2, ">", null) from $nullable_tb order by id"""
        // order_qt_array_apply_datetimev2_null_notnull """select array_apply(kadtmv2, ">", null) from $not_nullable_tb order by id"""
        order_qt_array_apply_decimal """select array_apply(kadcml, "=", 22.679) from $nullable_tb order by id"""
        order_qt_array_apply_decimal_notnull """select array_apply(kadcml, "=", 22.679) from $not_nullable_tb order by id"""
        order_qt_array_apply_decimal_lg """select array_apply(kadcml, ">=", 22.1) from $nullable_tb order by id"""
        order_qt_array_apply_decimal_lg_notnull """select array_apply(kadcml, ">=", 22.1) from $not_nullable_tb order by id"""
        order_qt_array_apply_decimal_null """select array_apply(kadcml, ">=", null) from $nullable_tb order by id"""
        order_qt_array_apply_decimal_null_notnull """select array_apply(kadcml, ">=", null) from $not_nullable_tb order by id"""

        // array_repeat
        order_qt_array_repeat_string """select array_repeat("hello", 2) from $nullable_tb order by id"""
        order_qt_array_repeat_int """select array_repeat(123, 2) from $nullable_tb order by id"""
        order_qt_array_repeat_null """select array_repeat(null, 2) from $nullable_tb order by id"""
        order_qt_array_repeat_null2 """select array_repeat(3, null) from $nullable_tb order by id"""
        order_qt_array_repeat_string_notnull """select array_repeat("hello", 2) from $not_nullable_tb order by id"""
        order_qt_array_repeat_int_notnull """select array_repeat(123, 2) from $not_nullable_tb order by id"""
        order_qt_array_repeat_null_notnull """select array_repeat(null, 2) from $not_nullable_tb order by id"""
        order_qt_array_repeat_null2_notnull """select array_repeat(3, null) from $not_nullable_tb order by id"""

        // agg for array types add decimal256 cases array_min/array_max/array_product/array_avg/array_sum with decimal256

        order_qt_sql_array_min_decimal256 "select array_min(kadcml256) from $nullable_tb  order by id"
        order_qt_sql_array_max_decimal256 "select array_max(kadcml256) from $nullable_tb  order by id"
        order_qt_sql_array_product_decimal256 "select array_product(kadcml256) from $nullable_tb  order by id"
        order_qt_sql_array_avg_decimal256 "select array_avg(kadcml256) from $nullable_tb  order by id"
        order_qt_sql_array_sum_decimal256 "select array_sum(kadcml256) from $nullable_tb  order by id"
        // array_overlap for type correctness
        order_qt_sql_array_overlaps_1 """select arrays_overlap(kadcml, kadcmlv2) from $nullable_tb  order by id"""
        order_qt_sql_array_overlaps_2 """select arrays_overlap(kadcmlv2, kadcml) from $nullable_tb  order by id"""
        order_qt_sql_array_overlaps_3 """select arrays_overlap(kadcml, kadcml256) from $nullable_tb  order by id"""
        order_qt_sql_array_overlaps_4 """select arrays_overlap(kadcml256, kadcml) from $nullable_tb  order by id"""
        order_qt_sql_array_overlaps_5 """select arrays_overlap(kadcmlv2, kadcml256) from $nullable_tb  order by id"""
        order_qt_sql_array_overlaps_6 """select arrays_overlap(kadcml256, kadcmlv2) from $nullable_tb  order by id"""


        // array_match_any && array_match_all
        // for table
        qt_sql_array_match_any_1 "select kastr, array_match_any(x->x!='', kastr) from $nullable_tb  order by id"
        qt_sql_array_match_all_1 "select kastr, array_match_all(x->x!='', kastr) from $nullable_tb  order by id"
        // [INTERNAL_ERROR][E6] nested_column's size 1, is not consistent with offsets_column's 0 ??
        // qt_sql_array_match_any_2 "select kastr, array_match_any(x->x!=null, kastr) from $nullable_tb  order by id"
        // qt_sql_array_match_all_2 "select kastr, array_match_all(x->x!=null, kastr) from $nullable_tb  order by id"
        // qt_sql_array_match_any_3 "select kaint, array_match_any(x->x!=null, kaint) from $nullable_tb  order by id"
        // qt_sql_array_match_all_3 "select kaint, array_match_all(x->x!=null, kaint) from $nullable_tb  order by id"
        qt_sql_array_match_any_4 "select kastr, array_match_any(x->x='a', kastr) from $nullable_tb  order by id"
        qt_sql_array_match_all_4 "select kastr, array_match_all(x->x='a', kastr) from $nullable_tb  order by id"
        qt_sql_array_match_any_5 "select kaint, array_match_any(x->x=2, kaint) from $nullable_tb  order by id"
        qt_sql_array_match_all_5 "select kaint, array_match_all(x->x=2, kaint) from $nullable_tb  order by id"
        qt_sql_array_match_any_6 "select kaint, array_match_any(x->x!=2, kaint) from $nullable_tb  order by id"
        qt_sql_array_match_all_6 "select kaint, array_match_any(x->x!=2, kaint) from $nullable_tb  order by id"


        sql "create view v as select array_first_index(x -> x > 1, kadbl) from $nullable_tb order by id;"
        order_qt_sql_view_array_first_index_Double "select * from v;"
        sql "drop view v"
        // test array_count
        sql "create view v as select array_count(x -> x > 1, kadbl) from $nullable_tb order by id;"
        order_qt_sql_view_array_count_Double "select * from v;"
        sql "drop view v"
        // test array_first
        sql "create view v as select array_first(x -> x > 1, kadbl) from $nullable_tb order by id;"
        order_qt_sql_view_array_first_Double "select * from v;"
        sql "drop view v"
        // test array_sortby
        sql "create view v as select array_sortby(x -> x > 1, kadbl) from $nullable_tb order by id;"
        order_qt_sql_view_array_sortby_Double "select * from v;"
        sql "drop view v"
        // test array_filter
        sql "create view v as select array_filter(x -> x > 1, kadbl) from $nullable_tb order by id;"
        order_qt_sql_view_array_filter_Double "select * from v;"
        sql "drop view v"
        // test array_exists
        sql "create view v as select array_exists(x -> x > 1, kadbl) from $nullable_tb order by id;"
        order_qt_sql_view_array_exists_Double "select * from v;"
        sql "drop view v"
        // test array_last_index
        sql "create view v as select array_last_index(x -> x > 1, kadbl) from $nullable_tb order by id;"
        order_qt_sql_view_array_last_index_Double "select * from v;"
        sql "drop view v"
        // test array_last
        sql "create view v as select array_last(x -> x > 1, kadbl) from $nullable_tb order by id;"
        order_qt_sql_view_array_last_Double "select * from v;"
        sql "drop view v"
        // test array_map
        sql "create view v as select array_map(x -> x > 1, kadbl) from $nullable_tb order by id;"
        order_qt_sql_view_array_map_Double "select * from v;"
        sql "drop view v"

        // create view with array funcs for not-nullable_tb
        // test array_first_index
        sql "create view v as select array_first_index(x -> x > 1, kadbl) from $not_nullable_tb order by id;"
        order_qt_sql_view_array_first_index_Double_notnull "select * from v;"
        sql "drop view v"
        // test array_count
        sql "create view v as select array_count(x -> x > 1, kadbl) from $not_nullable_tb order by id;"
        order_qt_sql_view_array_count_Double_notnull "select * from v;"
        sql "drop view v"
        // test array_first
        sql "create view v as select array_first(x -> x > 1, kadbl) from $not_nullable_tb order by id;"
        order_qt_sql_view_array_first_Double_notnull "select * from v;"
        sql "drop view v"
        // test array_sortby
        sql "create view v as select array_sortby(x -> x > 1, kadbl) from $not_nullable_tb order by id;"
        order_qt_sql_view_array_sortby_Double_notnull "select * from v;"
        sql "drop view v"
        // test array_filter
        sql "create view v as select array_filter(x -> x > 1, kadbl) from $not_nullable_tb order by id;"
        order_qt_sql_view_array_filter_Double_notnull "select * from v;"
        sql "drop view v"
        // test array_exists
        sql "create view v as select array_exists(x -> x > 1, kadbl) from $not_nullable_tb order by id;"
        order_qt_sql_view_array_exists_Double_notnull "select * from v;"
        sql "drop view v"
        // test array_last_index
        sql "create view v as select array_last_index(x -> x > 1, kadbl) from $not_nullable_tb order by id;"
        order_qt_sql_view_array_last_index_Double_notnull "select * from v;"
        sql "drop view v"
        // test array_last
        sql "create view v as select array_last(x -> x > 1, kadbl) from $not_nullable_tb order by id;"
        order_qt_sql_view_array_last_Double_notnull "select * from v;"
        sql "drop view v"
        // test array_map
        sql "create view v as select array_map(x -> x > 1, kadbl) from $not_nullable_tb order by id;"
        order_qt_sql_view_array_map_Double_notnull "select * from v;"
        sql "drop view v"

        // test tokenize
        test {
            sql "select tokenize('arg1','xxx = yyy,zzz');"
            check{result, exception, startTime, endTime ->
                assertTrue(exception != null)
                logger.info(exception.message)
            }
        }

        test {
            sql "select tokenize('arg1','2');"
            check{result, exception, startTime, endTime ->
                assertTrue(exception != null)
                logger.info(exception.message)
            }
        }

        test {
            sql "select tokenize(element_at(kastr, 1), element_at(kastr, 1)) from $nullable_tb order by id"
            check{result, exception, startTime, endTime ->
                assertTrue(exception != null)
                logger.info(exception.message)
            }
        }

        test {
            sql "select tokenize(element_at(kastr, 1), element_at(kastr, 1)) from $not_nullable_tb order by id"
            check{result, exception, startTime, endTime ->
                assertTrue(exception != null)
                logger.info(exception.message)
            }
        }

    }

}
